﻿using FlyingEye.EntityFrameworkCore;
using FlyingEye.Factories;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;

namespace FlyingEye.Repositories.Factories
{
    public class ProductionBaseRepository : EfCoreRepository<DeviceOpsServiceDbContext, ProductionBaseModel, int>, IProductionBaseRepository
    {
        public ProductionBaseRepository(IDbContextProvider<DeviceOpsServiceDbContext> dbContextProvider) : base(dbContextProvider)
        {
        }
    }

    public class DeviceHostRepository : EfCoreRepository<DeviceOpsServiceDbContext, DeviceHostModel, Guid>, IDeviceHostRepository
    {
        public DeviceHostRepository(IDbContextProvider<DeviceOpsServiceDbContext> dbContextProvider) : base(dbContextProvider)
        {
        }
    }

    public class ProductionWorkshopRepository : EfCoreRepository<DeviceOpsServiceDbContext, ProductionWorkshopModel, Guid>, IProductionWorkshopRepository
    {
        public ProductionWorkshopRepository(IDbContextProvider<DeviceOpsServiceDbContext> dbContextProvider) : base(dbContextProvider)
        {
        }
    }

    public class ProductionProcessRepository : EfCoreRepository<DeviceOpsServiceDbContext, ProductionProcessModel, Guid>, IProductionProcessRepository
    {
        public ProductionProcessRepository(IDbContextProvider<DeviceOpsServiceDbContext> dbContextProvider) : base(dbContextProvider)
        {
        }
    }
}
